According to the xdg-shell protocol specification the (x, y) coordinates
passed when creating a popup surface is relative to top left corner of
the parent surface, but prior to this patch, if the parent surface
was an xdg_surface, we'd position it relative to top left corner of the
window geometry of that xdg_surface.
https://bugzilla.gnome.org/show_bug.cgi?id=749717
x = window->x - parent_x;
y = window->y - parent_y;
- if (parent_impl->xdg_surface)
- {
- x -= parent_impl->margin_left;
- y -= parent_impl->margin_top;
- }
-
impl->xdg_popup = xdg_shell_get_xdg_popup (display->xdg_shell,
impl->surface,
parent_impl->surface,